import { configureStore } from '@reduxjs/toolkit'
import counterReducer from './features/counter'
import homeReducer from './features/home'

const store = configureStore({
  reducer: {
    counter: counterReducer,
    home: homeReducer
  }
})


export default store;

/**
 * React中的state如何进行管理
 * 
 * 目前我们已经学习了三种状态管理方式：
 * 方式1：组件中自己的state管理
 * 方式2：Context数据的共享状态
 * 方式3：Redux管理应用状态
 * 
 * 在开发中如何选择呢？
 * 首先，这个问题没有一个标准答案
 * 有些用户，选择将所有的状态放到redux中进行管理，因为这样方便追踪和共享
 * 有些用户，选择将某些组件自己的状态放到组件内部进行管理
 * 有些用户，将类似于主题、用户信息等数据放到Context中进行共享和管理
 * 
 * 作为一个开发者，到底选择怎样的状态管理方式，是你的工作之一。
 * 
 * 一个方案：
 * UI相关的组件内部可以维护的状态，在组件内部自己来维护
 * 大部分需要共享的状态，都交给redux来管理和维护
 * 从服务器请求的数据（包括请求的操作），交给redux来维护（有争议）
 */